<?php
/**
 * 设置和获取统计数据，注意计数不保存，当次操作有效。
 * @param 	$array	数组
 * @return null
 * @author chen <vd8888@126.com>
 * @todo 过滤空格函数需要重写
 */
function P ($array){
	dump($array);
}
/**
 * 公共验证码。
 * @author chen <vd8888@126.com>
 */
function V($vname) {
	ob_start();
	import('@.ORG.Image');
	Image::buildImageVerify(4,1,'png',125,36,16,$vname);
}
/**
 * 获取客户IP信息。
 * @return array IP信息
 * @author chen <vd8888@126.com>
 */
function IP(){
	import ( "@.Model.Json" ); 		// 引入JSON类，好处是比自带函数更加标准。
	$json = new MY_JSON ();

	$user_IP = ($_SERVER["HTTP_VIA"]) ? $_SERVER["HTTP_X_FORWARDED_FOR"] : $_SERVER["REMOTE_ADDR"];
	$user_IP = ($user_IP) ? $user_IP : $_SERVER["REMOTE_ADDR"];
	$URL='http://ip.taobao.com/service/getIpInfo.php?ip='.$user_IP;
	$fcontents = file_get_contents("$URL");
	$contents = $json->decode ( $fcontents ); // 将JSON文本，转换为数组。
	return $contents;
}
/**
 * 删除数组，并重建索引
 * @param $arr数组 $offset 要删除的数组下标
 * @return mull
 * @author chen <vd8888@126.com>
 */
function array_remove(&$arr, $offset)
{
	array_splice($arr, $offset, 1);
}
/**
 * 数组转字符串
 * @param $arr数组
 * @return String 以,隔开的字符串
 * @author chen <vd8888@126.com>
 */
function arr2str ($arr)
{
    foreach ($arr as $v)
    {
        $v = join(",",$v); //降维,也可以用implode,将一维数组转换为用逗号连接的字符串
        $temp[] = $v;
    }
    $t="";
    foreach($temp as $v){
        $t.="'".$v."'".",";
    }
    $t=substr($t,0,-1);
    return $t;
}
function trim_kongge($str){
    $str=rtrim($str, ",");
    return $str;
}
/**
 * 去除字符串所有空格
 * @param $str 字符串
 * @return String 字符串
 * @author chen <vd8888@126.com>
 */
function trim_str($str){
	str_replace('  ','',$str);
	return $str;
}
/**
 * 过滤变量
 * @param $value
 * @author chen <vd8888@126.com>
 */
function filter_default($value){
	$value = htmlspecialchars($value);
	return $value;
}
/*
 * rc4加密算法
 * $pwd 密钥，$data 数据
 * $data 要加密的数据
 */
function rc4 ($pwd, $data)//$pwd密钥　$data需加密字符串
{
	$key[] ="";
	$box[] ="";
	$pwd_length = strlen($pwd);
	$data_length = strlen($data);
	for ($i = 0; $i < 256; $i++)
	{
		$key[$i] = ord($pwd[$i % $pwd_length]);
		$box[$i] = $i;
	}
	for ($j = $i = 0; $i < 256; $i++)
	{
		$j = ($j + $box[$i] + $key[$i]) % 256;
		$tmp = $box[$i];
		$box[$i] = $box[$j];
		$box[$j] = $tmp;
	}
	for ($a = $j = $i = 0; $i < $data_length; $i++)
	{
		$a = ($a + 1) % 256;
		$j = ($j + $box[$a]) % 256;
		$tmp = $box[$a];
		$box[$a] = $box[$j];
		$box[$j] = $tmp;
		$k = $box[(($box[$a] + $box[$j]) % 256)];
		$cipher .= chr(ord($data[$i]) ^ $k);
	}

	return $cipher;
}
/*生成订单号*/
function ordernum($str){
	return $str.date('Ymd').substr(implode(NULL, array_map('ord', str_split(substr(uniqid(), 7, 13), 1))), 0, 8).rand(10000,99999);;
}
?>